/**********************************************
 *  filename : ft_kernel_conntrack_proto.h
 **********************************************/


#ifndef FT_KERNEL_CONNTRACK_PROTO_H
#define FT_KERNEL_CONNTRACK_PROTO_H

struct ft_conntrack_proto
{
	u_int8_t					proto_num;
	const char				   *name;
	struct module			   *me;

	bool (*get_tuple)(const struct sk_buff *skb, const struct ft_conntrack_tuple *ptuple);
	bool (*ivt_tuple)(const struct ft_conntrack_tuple *po, const struct ft_conntrack_tuple *pr);
	bool (*create)(struct ft_conntrack *ct, const struct sk_buff *skb, unsigned int data_off);
	int  (*packet)(struct ft_conntrack *ct, const struct sk_buff *skb, unsigned int data_off);
	bool (*error)();
};

///////////////////////////////////////////////
// declaration variable
extern struct ft_conntrack_proto ft_ct_proto_udp;

#endif
